package com.zp.self.module.level_4_算法练习.数据结构.数组;

import org.junit.Test;

/**
 * @author By ZengPeng
 */
public class 力扣_766_托普利茨矩阵 {
    @Test
    public void main() {

        System.out.println(isToeplitzMatrix(new int[][]{{1,2,3,4},{5,1,2,3},{9,5,1,2}}));
    }

    /**
    题目：给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵，返回 true ；否则，返回 false 。
     如果矩阵上每一条由左上到右下的对角线上的元素都相同，那么这个矩阵是 托普利茨矩阵 。

     示例 1：
     输入：matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
     输出：true
     解释：
     在上述矩阵中, 其对角线为:
     "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"。
     各条对角线上的所有元素均相同, 因此答案是 True 。

     示例 2：
     输入：matrix = [[1,2],[2,2]]
     输出：false
     解释：
     对角线 "[1, 2]" 上的元素不同。

    分析：【P 💔】
       1.遍历：每一行与上一行左比较
                --执行用时：0 ms, 在所有 Java 提交中击败了100.00%的用户
                --时长：3分钟

    边界值 & 注意点：
       1.
     **/
    public boolean isToeplitzMatrix(int[][] matrix) {
        for (int row = 1; row < matrix.length; row++) {
            for (int lie = 1; lie < matrix[0].length; lie++) {
               if(matrix[row][lie]!=matrix[row-1][lie-1])
                   return false;
            }
        }
        return true;
    }
}
